{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "73bd968b-d970-4a05-94ef-4e7abf990827",
   "metadata": {},
   "source": [
    "Chapter 08\n",
    "\n",
    "# 绘制椭圆\n",
    "Book_3《数学要素》 | 鸢尾花书：从加减乘除到机器学习 (第二版)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "269e9040-9e54-4d12-8427-bb356afd6e54",
   "metadata": {},
   "source": [
    "这段代码利用数学公式绘制多种类型的椭圆曲线，展示椭圆的几何特性和变换。以下是详细的数学描述：\n",
    "\n",
    "### 数学背景与公式\n",
    "椭圆的标准方程可以表示为：\n",
    "$$\n",
    "\\frac{(x-h)^2}{a^2} + \\frac{(y-k)^2}{b^2} = 1\n",
    "$$\n",
    "其中，$(h, k)$ 是椭圆的中心，$a$ 和 $b$ 分别是椭圆的半长轴和半短轴长度。如果 $a > b$，椭圆的长轴平行于 $x$ 轴；反之，如果 $b > a$，长轴平行于 $y$ 轴。\n",
    "\n",
    "### 代码实现的功能\n",
    "1. **定义隐函数绘图函数**：通过 `plot_implicit` 函数绘制隐式方程的曲线，设置了变量范围为 $[-2.5, 2.5]$，并添加坐标轴标签。\n",
    "\n",
    "2. **绘制标准椭圆**：\n",
    "   - 当长轴平行于 $x_1$ 轴时，方程为：\n",
    "     $$\n",
    "     \\frac{x_1^2}{4} + x_2^2 = 1\n",
    "     $$\n",
    "   - 当长轴平行于 $x_2$ 轴时，方程为：\n",
    "     $$\n",
    "     x_1^2 + \\frac{x_2^2}{4} = 1\n",
    "     $$\n",
    "\n",
    "3. **绘制偏移中心的椭圆**：\n",
    "   - 中心为 $(0.5, 0.5)$，长轴平行于 $x_1$ 轴：\n",
    "     $$\n",
    "     \\frac{(x_1 - 0.5)^2}{4} + (x_2 - 0.5)^2 = 1\n",
    "     $$\n",
    "   - 中心为 $(0.5, 0.5)$，长轴平行于 $x_2$ 轴：\n",
    "     $$\n",
    "     (x_1 - 0.5)^2 + \\frac{(x_2 - 0.5)^2}{4} = 1\n",
    "     $$\n",
    "\n",
    "4. **绘制旋转椭圆**：\n",
    "   - 长轴逆时针旋转 $\\frac{\\pi}{4}$：\n",
    "     $$\n",
    "     \\frac{5x_1^2}{8} - \\frac{3x_1x_2}{4} + \\frac{5x_2^2}{8} = 1\n",
    "     $$\n",
    "   - 长轴逆时针旋转 $\\frac{3\\pi}{4}$：\n",
    "     $$\n",
    "     \\frac{5x_1^2}{8} + \\frac{3x_1x_2}{4} + \\frac{5x_2^2}{8} = 1\n",
    "     $$\n",
    "\n",
    "### 几何意义\n",
    "- **标准椭圆**：展示了椭圆在不同长轴方向的基本形状。\n",
    "- **偏移中心的椭圆**：模拟椭圆中心偏移后的位置变化。\n",
    "- **旋转椭圆**：通过添加 $x_1x_2$ 项实现旋转，展示主轴旋转后的几何特性。\n",
    "\n",
    "### 输出\n",
    "每种椭圆通过调用 `plot_curve` 函数分别绘制，显示在单独的图形中。绘图结果直观地展示了椭圆的不同几何特性及其变化规律。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e918e753-33eb-45c0-80c5-807d6be241f0",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 导入必要的库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "dea42814-3538-4238-a22f-bd4d6c72d600",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from matplotlib import pyplot as plt  # 导入 matplotlib 库用于绘图\n",
    "from sympy import plot_implicit, symbols, Eq  # 从 sympy 库中导入 plot_implicit、symbols 和 Eq 函数"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fd737613-06ab-499a-9712-4135fbe5d103",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 定义符号变量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "d52ba0d0-29d0-4818-9201-084a172ab8e6",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "x1, x2 = symbols('x1 x2')  # 定义符号变量 x1 和 x2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "97028103-64f9-4065-9d81-79ec567b2e18",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 定义绘制隐函数曲线的函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4d3d8076-b051-4dbb-b83b-53a5cecf804a",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 此函数接受一个隐式方程 Eq_sym，并在给定范围内绘制其曲线\n",
    "def plot_curve(Eq_sym):\n",
    "    h_plot = plot_implicit(Eq_sym, (x1, -2.5, 2.5), (x2, -2.5, 2.5), # 绘制隐式函数图像，x1 和 x2 的范围均为 -2.5 到 2.5\n",
    "                           xlabel = r'$\\it{x_1}$', ylabel = r'$\\it{x_2}$')  # 设置 x 轴和 y 轴的标签\n",
    "    # h_plot.show()  # 显示绘制的图像"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "358b7f69-e0be-4caa-ae0b-dfb847fa1589",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 绘制主轴平行于 x1 轴的椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "969b95f6-808f-4ce3-af06-bce0a3c276d9",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Eq_sym = Eq(x1**2/4 + x2**2, 1)  # 定义椭圆方程，主轴平行于 x1 轴\n",
    "plot_curve(Eq_sym)  # 调用自定义函数绘制椭圆"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "561405d5-687d-4aa8-b5f0-b751e6c99107",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 绘制主轴平行于 x2 轴的椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5fcba927-c99f-467d-958e-291086d10347",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Eq_sym = Eq(x1**2 + x2**2/4, 1)  # 定义椭圆方程，主轴平行于 x2 轴\n",
    "plot_curve(Eq_sym)  # 调用自定义函数绘制椭圆"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c1845e08-b66a-4ddc-b106-d215f1ac3a72",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 绘制中心为 (0.5, 0.5)，主轴平行于 x1 轴的椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "5e73b26a-dd9a-4c61-a514-ebb4bba10ca2",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Eq_sym = Eq((x1-0.5)**2/4 + (x2-0.5)**2, 1)  # 定义椭圆方程，主轴平行于 x1 轴，中心为 (0.5, 0.5)\n",
    "plot_curve(Eq_sym)  # 调用自定义函数绘制椭圆"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "68f23546-daa0-4db6-88d7-e310a48942e8",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 绘制中心为 (0.5, 0.5)，主轴平行于 x2 轴的椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "1832f867-6db5-420b-95ed-f7e52ab4fa85",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Eq_sym = Eq((x1-0.5)**2 + (x2-0.5)**2/4, 1)  # 定义椭圆方程，主轴平行于 x2 轴，中心为 (0.5, 0.5)\n",
    "plot_curve(Eq_sym)  # 调用自定义函数绘制椭圆"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d122b356-6afd-47ce-a54c-90bac49909f6",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 绘制主轴逆时针旋转 pi/4 的椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "87a53a61-87f3-4313-805b-7d96cb3d6d52",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Eq_sym = Eq(5*x1**2/8 - 3*x1*x2/4 + 5*x2**2/8, 1)  # 定义椭圆方程，主轴逆时针旋转 pi/4\n",
    "plot_curve(Eq_sym)  # 调用自定义函数绘制椭圆"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c6c611e2-32e2-40a4-816d-f5cd00e853ad",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 绘制主轴逆时针旋转 3*pi/4 的椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "de874209-65e0-44a9-bc2a-a5d0519259eb",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHVCAYAAAB8NLYkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7hklEQVR4nO3de3zO9f/H8efmsJFtSAgTpVKUEL5EUXIqWjGpCKUilPRVDt9vVLSKvh2IyDd0IEpIqejkkA4OoYhvlCaHSNkcssWu3x+vH0tO2+y63tf1+Tzut9tuu3Zts2eGnvt83u/XOyoQCAQEAACAiBftOgAAAADyB8UOAADAIyh2AAAAHkGxAwAA8AiKHQAAgEdQ7AAAADyCYgcAAOARFDsAnhcIBJSeni7GdgLwOoodAM/bvXu3EhIStHv3btdRACCoKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAwlpKSorq1KmjuLg4lS5dWklJSVq3bp3rWAAQlih2AMLa/Pnz1bNnT33xxReaN2+eDhw4oGbNmmnv3r2uowFA2IkKBAIB1yEAIKd27Nih0qVLa/78+br88stz9Dnp6elKSEhQWlqa4uPjg5wQANwp6DoAAORGWlqaJKlkyZLH/ZiMjAxlZGQcfjs9PT3ouQAgHHArFkDECAQC6tu3rxo2bKjq1asf9+NSUlKUkJBw+CUxMTGEKQHAHW7FAogYPXv21LvvvqtFixapQoUKx/24Y12xS0xM5FYsAM/jViyAiNC7d2+9/fbbWrBgwQlLnSTFxMQoJiYmRMkAIHxQ7ACEtUAgoN69e2vGjBn69NNPVblyZdeRACBsUewAhLWePXtq8uTJmjVrluLi4rRt2zZJUkJCgooUKeI4HQCEF9bYAQhrUVFRx3x+woQJ6tKlS45+DcadAPALrtgBCGv87AkAOce4EwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwCIodAACAR1DsAAAAPIJiBwAA4BEUOwAAAI+g2AEAAHgExQ4AAMAjKHYAAAAeQbEDAADwiIKuAwCuLFwoZWbm/vOqVpXKl8//PAAAnCqKHTxlwQJp/frst5culRYtOvbHrlkjHTyY+69RvrxUsuSx31e7ttSo0ZHPNW0qVayY+68DAEBuRQUCgYDrEEBO7dplrz/6SFq1yh7PmyetXm2P9+2TDhw49ucmJBz7+csuk+rWzX2WLVukqVOP/b6sLGn3bntcpIhUqFD2+xo0yP56jRpJl156ZMaoqNxnwYmlp6crISFBaWlpio+Pdx0HAIKGYoewlZEhrV1rj6dNkzZvll55xUrTsRQpIp17rj0uX15q3z77fTEx0k03BTfvX+3fL73++pHPrV8vzZ6d/XZGhrRu3ZEf07GjVKCAdOWVUo0a9lyFCtLppwc3r9dR7AD4BcUOYWXfPunDD6UxY6Tff5e+/PLYH1e9ulS5slS6tHTLLfZcfLzdCo0U+/Zl//ft3Cm9/HL2+1aulFJT7fF550nlytnLjTfac1deKRUrFtq8kYxiB8AvKHZwbu9e6aWXpHHjpLQ0adOmoz/m+uvtKtyFF0rNm9sVrOPdWvWCHTvsVu62bdKUKfbcli3SW2/Z4/LlpcKF7TZuo0ZSy5ZSlSru8oY7ih0Av6DYIeT277fyNnasNH68lJ4u/fVPYVycXX274Qa7GnfppVJ0NGvPAoHs29ATJ9oVzSVLpM8+s/dt22ZXMZOSpH/8w15KlZJiY12mDg8UOwB+QbFDyKxbJ73/vjR9uo0a+asKFWzn6HXXSa1bSxdc4CZjpMrIkN5+W/rxR2nWLHvuq6+s3JUta2sPr7lGqlTJn6NaKHYA/IJih6Bbu1a69167uvT770e+r00bqUMH6fLL/Vk4gmn5cum33+w2908/SYsXW4E+80wpOdl+v2+80TZreB3FDoBfUOwQFAcO2OL/22+3WXJ79mS/75xzpE6dpO7d7VahH4qFa/v32/pFSXr+ebtt+/LLtlaxbVsre3362C3vmBinUYOCYgfALyh2yFf790sbN0rdutnar0NiY63Q9eplY0e8vPEhkqxdK336qe1EXrjQ1vC1bWujVlq1ks46y3XC/EGxA+AXFDvkm7lzbUzJzJnZz0VF2ckLffpYUUD4Sk21Qc9z59rr776zsTI1a9qu5Dp1XCfMO4odAL+g2OGU7dxpV+L+PpD3+uulm2+W2rVzkwunZsMGu4U+apT0zjtSiRK2Q7lDh8gr6RQ7AH5BsUOe7dljC/S7dLHdmJKt0WrXzsaUXHMN6+e8Yt8+u80+erQ0aZI9rlLFvs833HD8s3PDBcUOgF9Q7JAnn38ude165JFYJUtKI0bY8/C2/fulN9+UXnzRHp97rq2hbNdOuugi1+mORrED4BcUO+Ta8OHS0KE2WFiygcJNm0opKdL557vNhtDLyLCZeWPHSgsW2IaLHj3sz0Tp0q7TGYodAL+g2CHHfv/dxpfMmJH93AUXSK+8EllntCJ4tm/PvmX74Yf2ds+edsu2fHl3p4dQ7AD4BcUOObJihQ0TPnSOa8GCtjHiv/+1x8CxLFggvfaa9MEHdou2dWvp2mulcuVCm4NiB8AvKHY4qR9/tA0SCxbY26VK2e3YLl1cpkKkWblSmj1b+vhjm2PYp49Uq5bdyg82ih0Av6DY4YRmzrQTIn75Jfu5b76x+WZAXuzbZ4ORn3lGWr9eatTIhiLXrRu8r0mxA+AXFDsc18yZdqbogQP2dpky0sSJUrNmNtYEOFW7dknvvSdNn24Dkm+4wWYiFi2av3/GKHYA/IJih2OaPVtq394Wwks2k+6FF+wQeSAYtm2T3nrLzrKtWdNK3mWX2Q8Up4piB8AvKHY4yoIFNovuhx/s7XPPlZYs4XxXhM6iRTYnb+1aKTFRuvFGG5+SVxQ7AH5BscMRUlNt5+KqVfZ2mTJ2bujpp7vNBX/auVNaulSaNk3KzJRuuilvx5lR7AD4BcUOh+3dK1WrJv30k71dtarNrKta1W0uIBCwQcgvvWTLBGrUkO66y8amxMSc/PMpdgD8gmIHSXbua4MGtuNVks4802bUtWzpNhfwd/v2SbNm2ZrP4sVtM89dd514niLFDoBfUOwgSXrwQenJJ+1x4cLSyy/buiYgnK1ZY1fwNm+WKlWy4cfnnXf0x1HsAPgFxQ6aP19q3txudUk20qRzZ6eRgFzZt882+/TpI119tdShg226ODQyhWIHwC8odj63a5etV0pNtbc7drSzX4FItXatNGWKtHy5bbTo2lXKzKTYAfAHip2PHThgB7SPG2dvV6woffmlVLas21xAfvjmG+mdd6QdO6TSpdM1YADFDoD3Uex8bPdu6dD/4woVkiZPltq1c5sJyG9//CEtX56uhg0TNGRImm66Kf6Y6/AAwAs4GMqnDhywo5sO6dCBUgdvKlJEuugie9yqlR1f1qKFrcnLzHSbDQDyG1fsfGrBAumKK+zxaafZUU7NmrnNBATL3zdPrFljf+a//loaPFg6//yczcMDgHB3gslP8LKnn85+fMcdlDr4y4UX2svq1dKcOdKECTYu5d57XScDgFPDFTsfmjjRytyBA/b2999LVao4jQQE1cnGnezbZ6dafPGFjf7p1MlBSADIB6yx85kDB2z48KFSN3iwdM45bjMBrhUtamtOX37ZNlu0aiW98YadVQsAkYQrdj6TkSHFxtrjYsVsZyzgdbkdULx/v/T229Krr0rt29t61MTEEAQFgFPEFTufSUnJfvzgg+5yAOEsNtYK3aRJdm5yt252dvLWra6TAcCJUex8ZPNmO1fzEG7BAidWooR01VXSm2/aztnOnaXhw6U9e1wnA4Bjo9j5yKZNdsySJDVqJN10k9s8QKSIi5MaNpTmzrW/Ox07So8+Kv3+u+tkAHAkip2PjByZ/fivw4kB5Nw//iHNnCnVqWObjx54gIIHIHywecJHatSQVq2yx6tX2xwvwA9yu3kiN6ZPlxYvtg0XI0dK0fy4DMAh/gnyia++yl743b27VLWq2zyAV7RtKz35pB1T1qaNNHq0lTwAcIFi5xPLlkk7dtjjwoW5qgDkpwIFpNatpXfesZl4ffvaJot9+1wnA+A3/O/dBwIBacUKe1ywoNS7t9M4gKd16WJX7YoUkW6/3dbjAUCosMbOB7Ky7IqCZFfrMjLc5gFCLZhr7E5kyxYbMTRnjnTLLTYbDwCCiSt2PpOc7DoB4B/lykl33SXNmiVt2CB16CD99JP055+ukwHwqoKuAyD4vv8++3HTpu5yAH42YIC0ZIk0bpy0a5eNSild2nUqAF5DsfOBp55ynQCAZLPv6tSR3ntP+s9/bP7dU0/Zuc0AkB+4Fesj5cpJF1/sOgWAli2lxx6TkpJsecSzz0qZma5TAfACip2PJCZKtWq5TgHk3oIFC9S6dWuVK1dOUVFRmumBrabR0Vbw3ntPqlTJxqWsWeM6FYBIR7EDEPb27t2rGjVqaNSoUa6jBMV119mIlJEjbYD4+vWuEwGIVKyx87gdO7gKgMjXsmVLtWzZ0nWMoDrnHGnMGGntWunuu+0ki+Rku9IOADnFFTuPS02VPvvMdQogtDIyMpSenn7ES6SoWlV6913p6qulbt3sNIusLNepAEQKip2P3H676wRAaKSkpCghIeHwS2KEXfYqVEi66CJp+nQbbjxwoL0GgJOh2PlI3bquEwChMWDAAKWlpR1+2bRpk+tIeVKsmK29u/9+22QxYIB04IDrVADCGcUOgOfExMQoPj7+iJdIdsYZNveuenXbaDFxIrdnARwbxQ4AIkChQnbe7LvvSvv3W8H75RfXqQCEG3bFAgh7e/bs0fq/zAD58ccftWLFCpUsWVIVK1Z0mMyN7t2lBg2kBx+USpSQ+vWzAeQAwBU7AGFv6dKlqlmzpmrWrClJ6tu3r2rWrKmHHnrIcTJ3Lr7Ybsm2bSt17Ch9/rnrRADCAVfsAIS9xo0bKxAIuI4Rlho2lGbPlm67Tfr0U5uBl5DgOhUAV7hiBwAR7rTTpKlTpQsusNu0zz1n6/AA+A/FDgA8IilJeu01KTNTuusu6eefXScCEGoUO4+rVk1q3951CgChEh0t/fOfduXu1lulUaOkXbtcpwIQKhQ7j4uNzV5vwz/ugH/Ury/NnStdeqmdOTt/vutEAEKBYucjDz7oOgGAUCpYUPrHP6RXX7UdtMOHSxkZrlMBCCaKHQB4XJky0osv2hX8rl1Zewd4GcUOAHygYEGpd2/pvvuksWNt/t3vv7tOBSC/Uex84KabXCcAEC7q1JEefVTq3982Vn30ketEAPITxc4HrrjCdQIA4aZOHVt7N3WqNHSojUgBEPkodj6ycqU0c6brFADCRZky0vPPS6VLSzffzNo7wAsodj5RpIhNomfkCYC/KlRIuvNOadAgO5bsgw+kPXtcpwKQVxQ7H4iOlp56ynUKAOGsZk1p+nTpl19sY8Xcua4TAcgLip3PrFjhOgGAcBUXZ6dVvPKKNGOG9NBD0oEDrlMByA2Knc+MGeM6AYBwV7q09Nxz0tln2/mzW7a4TgQgp6ICgUDAdQgEXyAg1aghrVvH5Hn4T3p6uhISEpSWlqb4+HjXcSLK6tVS375Sz55S69ZSVJTrRABOhCt2PhEVZS9ZWdKGDa7TAIgU1apJ06bZmruHHpJ273adCMCJUOx8ZMAAWy/z3HOukwCIJAkJ0qhRUpUqUufO0vffu04E4Hgodj5SqZK9/vNPu3IHALnRubOUkiL16CHNns2/I0A4otj5SGysFB9vGyjWrnWdBkAkOv98ad486f33pX79mI0JhBuKnY9ccol0/fWuUwCIdFFRdmJFgwZ2YsWaNa4TATiEYuczjRrZ6wUL3OYAEPnatpXGjbMrdxMmuE4DQKLY+U7HjvZ68mS3OQB4Q4UK0qxZ0saNtgaPXbOAWxQ7n4mKkhITbY3dZ5+5TgPACwoWlB5+WOrSxa7iffml60SAf1HsfKZwYen++6UdO+wnbADIL02aSC+9ZKNRRoxwnQbwJ4qdD9WsKZUoYTvbACA/Vaggvfii/RDZti27ZoFQ40gxn7rwQmnTJtbDwB84UsyNJUtsMPrAgdKVV7pOA/gDV+x8qkcP6Y8/2MkGIHjq1JFee802a6WkcE41EAoUO5+qUUM6eNAO+AaAYClTxoaiFy9uV+4ABBfFzqfq17f1LyNHSj/84DoNAC8rVMjuEmRmSn37cuUOCCaKnU8VKiR162b/0G7a5DoNAD8YOdJOq0hK4lhDIFjYPOFju3fb2bFXXil99JHrNEDwsHkivKxfLz3wgNS6tdS1q+s0gLdwxc7HTjvN/nFdvFh67z3XaQD4RZUq0ssv2yzNrl25NQvkJ4qdj0VH2zq7okWlzZtdpwHgJ8WKSUOG2DGHrVpJGza4TgR4A7dioauvlpYtk377zXUSIDi4FRve5s6VpkyRHntMOvNM12mAyMYVO6h/fyk93UYSAECoNWsm3Xab1LkzZ1gDp4piB1WsKJ1zjjRtmpSW5joNAD9q1Eh64w07Z3bYMJuzCSD3KHbQuedKV10lffop5zoCcCchwW7JliplI1Eod0DuUewgSRo61F4//7zbHABw111S06bSoEG2TARAzlHsIMnm2fXubWNPfvrJdRoAfnfvvXb0YceODDMGcoNiB0lSwYJScrKUmiotWuQ6DQBIN90kPfOMdM890uzZrtMAkYFih8MaNbKfku+/33USADBnny29/74VPHbMAidHscMRrrtOKlxYmjDBdRIAMNHRdlLFiy9KTzzhOg0Q3ih2OELt2lKtWtJ990nbt7tOAwCmfHnphRfsxIobbpB27nSdCAhPFDscZfRom2f3+uuukwBAtthY6e67pZYtpZEjpX37XCcCwg/FDkcpWdI2UkybxjFjAMJLVJR0xx02WP3mm6Uff3SdCAgvFDscJTZWevpp6bvvpC++cJ0GAI52223So49KvXpJu3e7TgOED4odjql8ealNG9sh++efrtMAwNGqVbNi17attGqV6zRAeKDY4bgGD5YKFJCefNJ1EgA4WnS0rbebMMH+vZoxw3UiwD2KHY6rUiWpRQtp4kTbTAEA4ah8eWnSJNs1+8knrtMAblHscEIDB9p4gUGDXCcBgOOLj5dee0165RVpyBDXaQB3KHY4oZIlpXbtpI8/ltavd50GAI6vVCkbYvzzz9Lbb0sHD7pOBIReVCAQCLgOgfBXq5Z0/vnSlCmukwC5l56eroSEBKWlpSk+Pt51HATZH39I/frZSJQHHnCdBggtrtghR55/Xlq9Wlq3znUSADixIkWkUaOkb76xgeuAn1DskCP160tlytj4k4wM12kA4OTGjpXS06UOHewqHuAHFDvk2Pjx0oIFdhg3AIS7okWl/v3tDOzRoyl38AeKHXLsrLOkJ56Q3nhD2rXLdRoAyJl+/aSCBW2YMeB1FDvkSo8e9nrsWLc5ACA37r3XZnP27i1lZrpOAwQPxQ65dscddpbsl1+6TgIAOTdwoNS0qV25O3DAdRogOCh2yLXkZKlJE/sJmHNkAUSKAgWk666zeXc9e0q//uo6EZD/KHbIkyeflLZtk1ascJ0EAHLnscek5s2lAQMYYgzvodghTxITpeHD7ard1q2u0wBA7lx7rVS3rvSvf7lOAuQvih3yLDnZdso+9ZTrJACQO4UL23rhX3+VHnxQ2rvXdSIgf1DscEoee0yaP1/64APXSQAg9158UTrvPGnwYIkDNuEFFDucksqVpUGDpO7dWasCIDJ16CCVKCE9/rjrJMCpo9jhlF1zje2S7dePn3gBRJ7TTrMfUJcvt7XDWVmuEwF5R7HDKStUSHrpJem116T333edBgDy5o03pKgortwhslHskG9eesl2mG3e7DoJAORNt242ymnMGNdJgLyh2CHfXHON1KAB4wMARK7ixaVnnpHeeUeaMMF1GiD3KHbIVwMGSKtWSe++6zoJAORNdLT01lvS7NnS4sWu0wC5Q7FDvipXTnr2Wen++6XUVNdpACBvYmKkF15geQkiD8UO+e6yy+y4nocecp0EAPKudGn7QfX226WffnKdBsgZih3yXVSU9MgjNhdq+nTXaQAg7y66SOrf32Z1rlvnOg1wclGBAJPHEBxbttjgz7fftgXJgCvp6elKSEhQWlqa4uPjXcdBBFq8WBo1ynbLJiS4TgMcH1fsEDTlykkpKdKll0o//+w6DQDkXYMG0p13Sj16SH/84ToNcHwUOwRV/fpSmzbSwIGukwDAqWnUSGrY0Hb/A+GKYoegio6Whg6VVq6Upk51nQYA8q5AAenuu+31Pfe4TgMcG8UOQVe0qPTee7Y2Zft212kA4NQ89ZQdpfjf/0p//uk6DXAkih1C4tB6u549pX37XKcBgFOTkiItWCB99JHrJMCRKHYImbp1pdatpX79XCdBXv3xxx/afIxpratXr3aQBnCncGFpxAi7erdxo+s0QDaKHUKmQAHp1lvt1uzLL7tOg9x68803dd5556lVq1a6+OKL9eWXXx5+X6dOnYL+9UePHq3KlSsrNjZWtWvX1sKFC4P+NYETOeMMG2B8xx3ciUD4oNgh5Pr2lV58UZo2zXUS5MbQoUO1fPlyrVy5Ui+99JJuu+02TZ48WZIU7HGYU6dOVZ8+fTRo0CB9/fXXatSokVq2bKlUzq2DYxdeKPXpI91wg7Rrl+s0AAOK4cjy5TYCZdIkqUwZ12mQE9WqVTviluvOnTt1ww036KqrrtLMmTO1fPnyoH3tevXqqVatWhozZszh5y644AIlJSUpJSXlpJ/PgGIE29Sp0qpV0rBhrpPA7wrm5IMCgYB2794d7CzwkSpV7IieAQOkZ55xnQY5UbJkSS1evFjVq1eXJBUqVEjTp09X9+7dtXLlSqWnpwfl62ZmZmrp0qW65557jvgaV1xxhRYsWHDMr5uRkaGMjIzDbx/69ytYGYGWLaU5c6R//pNzshE8cXFxioqKOuHH5OiK3aGfdgEAAOBGTu465KjY+fGKXXp6uhITE7Vp0yZu3QTZI4/YOpV27UL/tfk+n9xll12mt956S2Uc3TPfunWrqlatqnnz5qlu3bqHnx8+fLhef/11LVu27KjP+fsVu61bt6pu3bpas2aNypcvH5LcCL1w+Pu8fbt011121a5mTScRPC8cvs+u5OSKXY5uxUZFRfnuN++Q+Ph43/63h8q//iXdeKNUurR07bVuMvB9Pr569eqpadOm+uCDD1S1atXDz3/99dcaNGiQ5syZE9SvHxsbqwIFCmj37t1HfI/S09NVrly5XH3f4uLi+D77gMu/z/Hxtsxk0CDpjTekM890EsMX+Hf72NgVC+eKF5dmzJBGjpQYhxZ+xo8fr9tuu00NGzbUokWL9L///U/t27fXpZdeqpiYmKB//cKFC6t27dqaN2/eEc/PmzdPDRo0CPrXB3IrOdnK3X/+4zoJ/ChHV+yAYCtaVBo71uZBTZ5s86EQPgYPHqzChQvr6quv1sGDB9W8eXMtWbJEtWrVCsnX79u3rzp16qRLL71U9evX17hx45Samqru3buH5OsDudWxo/T557bzv2NHm+MJhALF7jhiYmI0ePDgkFyRgKlUSbr/fnsZP94muwcb3+eT27p1q1JSUjR+/HhdeOGFWrt2rTp06BCyUidJN954o3bu3KlHHnlEW7duVfXq1TVnzhydddZZOfr8Q99fvs/eFm5/n//1L6lBA+ncc+018ke4fZ/DDXPsEFb+/FN65RW7JfvUU67TQJKKFCmiqlWraujQobrmmmv0wQcfqH379ho4cKAefPBB1/FyhDl2cGX7dql9e7sTUa6c6zTwA4odwtI990gFC7JGJRy8/vrr6tChwxHPLV++XNdee62SkpI0evRoR8lyjmIHl6ZOlb78Unr0Uem001yngddR7BC2+vSRzjvPRgewPiX8bNy4Ua1atdKaNWtcRzkpih1c69xZKlnS7kREs20RQcQfL4Stxx+XFi2SFixwnQTHUqlSJX322WeuYwARYdgw6Z13bEMFEEwUO4St2FhpzBjpxRcl+kN4KlGihOsIQESoUEFaskR68EFpyxbXaeBlFDuEtYQEafBgaehQ6ZNPXKcBgLwrXly67z7pySeltDTXaeBVFLuT2Lhxo26//XZVrlxZRYoU0TnnnKPBgwcrMzPTdTTfOP986YUXpCeekL75JnhfZ9iwYWrQoIGKFi2q4sWLB+8LIaRGjx6tiy66SJJ0+eWXa+HChY4TIb8tWLBArVu3Vrly5RQVFaWZM2e6jnRcbdtKv/9uR46xwj13UlJSVKdOHcXFxal06dJKSkrSunXrXMcKOxS7k1i7dq2ysrI0duxYrV69Wk8//bReeOEFDRw40HU0XznrLOm//5XuvdfGBwRDZmamkpOT1aNHj+B8AYTc1KlT1adPH/3zn/+UJNWvX18tW7ZUamqq42TIT3v37lWNGjU0atQo11FyZOhQ6f33WWKSW/Pnz1fPnj31xRdfaN68eTpw4ICaNWumvXv3uo4WVtgVmwfDhw/XmDFj9MMPP7iO4juLF0sjRkhTpkjBmk05ceJE9enTR7t27QrOF0DI1KtXT7Vq1dITTzxxeFdsvXr1lJSUpJSUFNfxEARRUVGaMWOGkpKSXEc5oXfekYYMkd5+m/l2ebVjxw6VLl1a8+fP1+WXX+46Ttjgil0epKWlqWTJkq5j+FKDBlLr1nY7IyvLdRqEs8zMTC1btkzNmjU74vlmzZpp8eLFjlIB5tprperVbfc/8ibt/xcq8v/jI1HscmnDhg0aOXIkZ1Q61LWrdM01NueOi2o4nl9//VUHDx5UmTJljni+TJky2rZtm6NUQLZhw+wuxLvvuk4SeQKBgPr27auGDRuqevXqruOEFd8WuyFDhigqKuqEL0uXLj3ic7Zs2aIWLVooOTlZ3bp1c5QcktSjh1S2rJ0peyJ5+T7DW6Kioo54OxAIHPUc4EL58nYaxW23uU4SeXr16qVVq1ZpypQprqOEnYKuA7jSq1evo45J+rtKlSodfrxlyxY1adJE9evX17hx44KcDjnRv79NcU9Olt5449gfk9vvM7yjVKlSKlCggLZt26Zq1aodfn779u1HXcUDXGnRQurY0e5EjBsnFSrkOlH46927t95++20tWLBAFSpUcB0n7Pi22JUqVUqlSpXK0cdu3rxZTZo0Ue3atTVhwgRFcx5MWIiOlvr1k1JSbJfZffcdfQ5jbr7P8JbChQurdu3amjdvnq666qrDz8+bN0/XXXedw2RAtqgom2tXpYptqLj+eteJwlcgEFDv3r01Y8YMffrpp6pcubLrSGHJt8Uup7Zs2aLGjRurYsWKGjFihHbs2HH4fWXLlnWYDIf0728F7/XXpdtvz/uvk5qaqt9++02pqak6ePCgVqxYIUmqUqWKihUrlj9hEVJ9+/ZVp06dDl+x69+/v1JTU1kj6zF79uzR+vXrD7/9448/asWKFSpZsqQqVqzoMFnOFCggjR0rDRok1aghnX2260ThqWfPnpo8ebJmzZqluLi4w2tlExISVKRIEcfpwgfjTk5i4sSJ6tq16zHfx29d+Ni7V3rkEem33+wIsrzo0qWLJk2adNTzn3zyiRo3bnxqAeHM6NGj9fjjj2vTpk2qUaOGnnvuOUYjeMynn36qJk2aHPV8586dNXHixNAHyqN+/aSff7ZxTjja8dbGTpgwQV26dAltmDBGsYOnDBggVa4sdekiFS7sOg3CRXp6+uE5dvHx8a7jAMe0bZuNcurTx9YOA3nBYjF4ytCh0tKltlYFACJJ2bLSM8/YlTsOR0FeUezgKQUK2GaKDz6QOPUNQKS55BIreA884DoJIhXFDp5z+unS6NHSzp3SzJnSwYOuEwFAzhQqJD37rPTJJ9K0aa7TIBJR7OBJBQpII0dKH38sPfaY6zQAkHP16kl9++Z9Ixj8jWIHzypcWHruOemnn2zdCgBEirvuslmdY8a4ToJIQ7GD540cKWVlScOHu04CADlTvLjtjH3wQfvhFMgpxp3AF/74w85jrFFDuuceqWhR14kQSow7QSTKyJDatbN/vz780HUaRAqu2MEXihSxoZ/x8dKdd7pOAwAnFxNj52H/8ou0eLHrNIgUFDv4yt13SxddJPXsaT8FA0A4O+88qXp1+zcLyAmKHXynXz+pRQupVy/pwAHXaZDfpkyZotjYWG3evPnwc7169ZIkpaWluYoF5Nmjj0r790vDhrlOgkhAsYPvREdLrVtLiYl2W3bHDteJkJ86dOig888/XykpKZKkhx9+WB999JEkOywciDRVqkhNm0pvvmnzOYETodjBt4YMkTp1kjp2lNLTXadBfomKitKwYcM0fvx4PfbYY3r22Wf11ltvHX7/9ddfrxIlSqhdu3YOUwK5M2yYtGePnawDnAi7YuF7M2dKkybZWJQKFVynQX6pVauWVq9erblz56pmzZqHd8UuW7ZMe/bs0aRJk/Tmm2+6jgnk2LBh0uTJdhZ25cqu0yBcccUOvpeUJD38sI1DmTPHZt4hsn3wwQdau3atDh48qDJlyhzxviZNmiguLs5RMiDvHnhACgTs3yvgeCh2gKSLL5amT5eef15avdp1GpyK5cuXKzk5WWPHjlXz5s3173//23UkIF8UKiSNGCHNni39ZW8QcASKHfD/4uKkUaOkhx6SXnrJdRrkxcaNG3XNNdeof//+6tSpkx555BFNnz5dX3/9tetoQL74xz+kCy6Q7rvPdsoCf0exA/6icmXp1Vel1FRp/Hi77YHI8Ntvv6lly5Zq06aNBg4cKEmqXbu2WrdurUcffdRxOiB/lCwp3Xij9MYb0m+/uU6DcMTmCeAYdu6UunWTrr7a1t7FxrpOhFPx9yPFPv30U40aNYrNE4hI27fb4OIrrpBmzXKdBuGGK3bAMZx+ujRjho1B6d6d9Sxe0rx5cyUnJ2vOnDmqUKGClixZ4joSkCulS0vPPCN9/bW0bJnrNAg3XLEDTuKzz2zd3bx5NtwYkefvV+wALyhb1oasP/KI6yQIJ/xvCjiJyy6T+vSRWraUfvjBdRoAMP/5j/Tss9LCha6TIJxQ7IAcaN3a/gHt00eaMsV1GgCwHzoTE20jBede4xCKHZBDVavajtkVK6TnnnOdBoDfnXWW1KqVnZrDsYg4hGIH5EJ8vJ3VOG+eNHas6zQA/K5nT3vNHG4cQrEDcik62s6X/fVX6aabpLQ014kA+FXx4lLjxtKHH0rff+86DcIBxQ7IgwIFpEGDpF69pORkFi8DcCMhQWrfXtqwwQarA4w7AU7R1q3SwIF29a5ZM9dpcCyMO4HXlSwp1a5ty0Tgb1yxA07RmWfa+pYnnpA++ohjyACE3pNPSsuXS1995ToJXKPYAfng7LOl996zXbNDhki7d7tOBMBPypeX9u2Tpk+XsrJcp4FLFDsgnxQuLE2YIFWuLN16q7R+vetEAPyiZUupQQO7crd3r+s0cIliB+SzLl2kxx+3jRWcMQ8gVB56yF5/9pnbHHCLYgcEwfnnS7NmSYsXS717u04DwA8SE6WYGGn8eOnPP12ngSsUOyBIYmLsLMeYGGnMGP6hBRBcZ59tdwqmT5c+/9x1GrhCsQOCbNgwadcuqUcP6ZdfXKcB4GXVqtmczRUrXCeBK8yxA0Lkk0+s5KWkSHXquE7jL8yxg5/Exdlt2TVrXCeBC1yxA0KkSRO7RfL449Kzz0r797tOBMCL2rWTtm2TFixwnQQuUOyAEEpIsHJ34IDUrZv088+uEwHwmqZNpd9/l77+2nUSuECxAxy4/37bLdu1q92iBYD8UqmSdMYZ0ogRUmam6zQINYod4Ei9etKMGdLEidLgweyaBZA/LrtMqlrV7giwit5/KHaAQ8WKSZMm2U/Y118vbdrkOhEAL7j5Znv96qtucyD0KHZAGOjaVRo+XOre3dbgAcCpuPxye71wodscCD2KHRAmLrhAeu01O62iZ09uoQA4dTNmMNPObyh2QBgpXtyu3LVoYTvb1q1znQhAJKpa1Yaip6czWslvKHZAmImOllq3ll54QRowwNbgAUBuREdLhQrZ440bnUZBiFHsgDB17rlW6jZssFuzaWmuEwGIJPfeKxUsaKfdwD8odkAYi4uTHn7Ybs22by99+63rRAAixdln25W7QIA1u35CsQPCXFSU3ZqdMMFuzU6cyNBRADn3zTe2tAP+QLEDIkS5crbD7Ycf7BbL9u2uEwEIdz16uE6AUKPYARGkYEHpkUdsmHGnTtLLL0u7d7tOBSBcXXKJ6wQINYodEIGaNbNBxmXKSG3bctg3gBO7/34pK8t1CoRCQdcBAORNsWJS8+ZStWpSnz5W9rp2zR5xAADFi0uxsdIff7hOglDhih0Q4SpUkCZPtjV3PXtKv/ziOhGAcJGUJNWo4ToFQoliB3hA4cLSv/4l3Xij1LGjtGSJ60QAws38+a4TIBQodoCHXHWVNG2a9Pjj0r//TcEDkG3KFNcJEAqssQM8pkQJ21jx88/SAw9I9evbyIOC/G0HAM/jih3gURUqSC+9ZAeAd+vG2jsA8AOKHeBhsbFSv362W/aWW6QvvpAOHHCdCkAoPfGE6wQIJYod4ANXXCG9+aa0dKmNSPn8c9eJAIRK8eL2Oi3NruDD2yh2gE8ULy716iVNmmTnRo4YwcBSwE+mTZNWr3adAsFGsQN8pkIFaexYG5Fyyy3SzJmuEwEA8gvFDvCh2Fjpnnvsyt2aNVKHDtLeva5TAQBOFcUO8LGEBGngQOnee6U2baRFi1wnAgCcCoodANWvL738ss2/69JFWrXKdSIAQF5Q7ABIksqXl55+2kYjDBpkt2nDwbBhw9SgQQMVLVpUxQ9t7wMAHBPFDsARypSRZs2ydXjXXCO99pr055/u8mRmZio5OVk9evRwFwIAIgTFDsBRoqPtluysWdK330p9+0o7drjJ8vDDD+u+++7TRRdd5CYAAEQQTo8EcFwFC0opKdKcOdJTT0np6dKTT0rFirlOdmIZGRnKyMg4/HZ6errDNIBbX33lOgFCiSt2AE6qVSvpscfsddu2trnC5e3Zk0lJSVFCQsLhl8TERNeRAGf++1/XCRBKFDsAORIdLV17rTR+vPThh/b4u+/y9msNGTJEUVFRJ3xZunRpnrMOGDBAaWlph182bdqU518L8IrLLpMqVnSdAsHGrVgAuZKYaGvu2rSxY8mioqR//lM655yc/xq9evVShw4dTvgxlSpVynPGmJgYxcTE5PnzAS+68ELpjDNcp0CwUewA5EmVKjYS5bvvpLvvlnr0kJKScva5pUqVUqlSpYKaDwD8iFuxAE7JBRdIs2dLqam2Bm/OHCkrK/9+/dTUVK1YsUKpqak6ePCgVqxYoRUrVmjPnj3590UAj1q+3P5uwj+4YgfglBUubGfP3nab3ZadP19q3Fhq2fLUf+2HHnpIkyZNOvx2zZo1JUmffPKJGjdufOpfAPCwVaukrVtdp0AoRQUCgYDrEAC8ZccO6eGH7SzapCSpTh23edLT05WQkKC0tDTFx8e7DQOE0MSJUteu9njtWun8853GQQhwxQ5AvjvjDDuebOtW6YEHpBo1pP797X1RUW6zAX7y4YfZj889110OhA5r7AAERaFCNlrh9ddtx+z110tjx0pbtrhOBvjHG2+4ToBQo9gBCLr27aWZM6WyZW0N3siRrhMB3rd+ffZGpjvv5Gq5X1DsAIRMUpINON6/30akTJzoOhHgXSNHSgcO2ONLLqHY+QXFDkBIFS0q9esn/ec/0r59doLF7NnSwYOukwHekZUlZWba4zPOkGrXdpsHocOuWABOZWVJvXtLsbFSgwZ2Fm1+Y1cs/GbNGqlaNXt88cXSypVu8yB02BULwKnoaOn556Xff5dSUmwGXqtWUosWrpMBkevbb7MfV6/uLgdCj1uxAMJCiRLSk0/a/LslS2w93hdfuE4FRKZRo7If9+7tLgdCj2IHIKyUKCH9+9/Sq69KCxdKzZpJixZJu3e7TgZEhilT7O+OJNWqJSUmus2D0KLYAQhLxYrZJotJk6R166R27aSPPrJbtgCOb8OG7MetW0vly7vLgtBj8wSAiLBpk62/mzZN6thRatPGNlzkBJsn4CdxcdKePfZ4/34pJsZtHoQWV+wARITERCt0EybYPK4bbpDGjcsewAr4XSAgDRmSXeqaNJEKFHAaCQ5Q7ABElNNPl5KTpTlzpCJFpFtvtYXif/zhOhng1oYNtvlIkgoWtL8bBZl94TsUOwARq1Mn22Rx8KA0cKA0fLi0erXrVIAbzz+f/fjaa6UuXZxFgUOssQPgCRkZtsni4YelmjXtVu2FF9r7WGMHr5s71/7M791rb8+fL11+udtMcIOLtAA8ISbGJuxPmWIbLXr2lK64Qrr+ert9C3jZq69ml7pbb7VTXOBPXLED4Fn/+580Y4b08cfpmjs3Qdu2palMGa7YwVvefFO6+Wbpzz/t7fR02xkLf6LYAfC8pUvTVadOgu6+O00VKsTr2muliy5ynQo4ddu2SfXqSamp9vadd9paOzZN+BfFDoDnHVpj98svaZo+PV5z5ki1a0sdOkhVq7pOB+TdoQ1EklSxorRypVS8uNNIcIxiB8Dz/r55IivL1uG9/rr04Ye2g/COO6SiRV0nBXLu1lulV16xxzEx0gcf2LpS+BvFDoDnnWhX7Lp10jvvSD/9ZEcvtW6dvZsWCFfTptnVusxMe/uBB6QnnnCbCeGBYgfA83Iy7uTAAWn5cmnkSFuv1L27dN11XMVD+HnvPalbN2nLFnu7e3f7c8u6OkgUOwA+kJs5dhkZ9j/MsWNtvVLr1tJtt9mtrqioEAUGjmPtWhvhs3atvX3WWTaU+7TT3OZC+KDYAfC8UxlQPGeOzcYrXFhq31669FLm4sGNnTul6tVtJ6xkO7vfecc2TQCHUOwAeF5+nDzx4YfS1Km26aJqValdO6lhw3wOChxHerr9UPH99/b22WdLEyZwugSORrED4Hn5eaTYL79In30mvfWW9PXXdsLFDTdIZcvmU1jgbzZvlu66S3r3XXs7NtZ+yGjTxm0uhCeKHQDPC8ZZsVlZ0r590qhRVvIqVpTatpVatmSOGPJHVpY0b57UubP9QCHZBolp02ydHXAsFDsAnheMYvd3X30lTZ8uLVwoVaki9eljt2zZVYu8+vbbI09IKVNGeuEFKSnJWSREAIodAM8LRbE7ZPduG5vyzDNSWpp05ZW2s7ZGjaB+WXjMxIk2m27HDnu7USNp0iSpcmWnsRABKHYAPC+Uxe6vtmyxXYuzZ0vffCM1by7dcgsL3nF8Bw5It98uTZ5sjyWpQgX7M3TJJU6jIUJQ7AB4nqtid0ggYAvgJ0+2NXmlS0tNm0p3320L4UuXDnkkhKHly6WOHaXvvst+LilJeuklqUQJZ7EQYSh2ADzPdbH7u+3bbXzKmDF2lFmjRnZ6QN26NggZ/rJunTRggP2Z2L3bnouPlwYNstuxQG5Q7AB4XrgVu7/65hvpzTelDRtsRllsrHTHHTYnLzbWdToE24QJUr9+Nnz4kPPPt+fr13eXC5GLYgfA88K52P3Vb7/Z6JTXXpPWr7di16WL1KOHPWaHrTdkZdlMutdes1J/8KA9X6mSbZCoVUsqVsxpREQwih0Az4uUYvd3775rg2iXLpV27ZKuvdYGIhcrJp1zjut0yIvp022t5VtvHfn8jTdKzz/PcXU4dRQ7AJ4XqcXur776Spo50067+PZb6cILpWrVpKuvttecFxre3nvPRuDMm2ebaQ657jq7Itu8ubNo8BiKHQDP80Kx+6uffpLmzJFWrrQrQAUK2AaMq66SGje2wchwLy1NmjJFGj3a1k/u35/9vssuk8aNs7l0RYq4ywjvodgB8DyvFbu/2r/f1mw9+6y0daut2fr9d6lTJzu/tlcv+7j4eDZjhMLBg7YRYswY6dVXba3kIaedJtWubRsjKla048GA/EaxA+B5Xi52f3fwoK3L27zZzhTdutUeN2ggnXWWDb8tWVKqWdN1Um/ZvNmOk5syRXr77SPfV6KE1L+/1KYNV1MRfBQ7AJ7np2L3d5s3Sxs32gkY338vbdsmffmlzcyTbI3X2WfbsWfM0Mud776z39eZM6XUVOnnn498f8OGNramRQsbYQKEAsUOgOf5udj93f790q+/Sl98IX3+uZWSjRvttm1UlJWROnXsKlPnzvY50dH2Pj8LBOyW99KlNqbkrbek9PTsgcKS/R7Fx9tV0e7dpcREbn8j9Ch2ADyPYndy69fbhoxFi6y8ZGba1T5JattWKlfOHnfoYCUwLk464wx3eYMtLc3Wys2dK61ZY78Xfx9RIll5i4+X7rzTCt1pp4U+K/BXFDsAnkexy73du6WPP7bHU6faWr0tW6T//c+eO+ssqUaN7I/v1Cl7Blu9epE1THnZMrv6JtmMue3bpR9/tFNBjqVuXVun2L27jZuJpP9WeB/FDoDnUezyx86d0qZN9njVKit+Bw/a7s+/qlr1yPV6rVsfPVC5Q4fQ3qacMkXKyMh++403sq9I/u9/0h9/HPvzoqOttJYvLyUn23MXXMB6RIQvih0Az6PYBU8gYKdiHLJsme0OlWyo8mefZb/vzz+zZ7nFx1tpOpbTT7cylVtffSUtXnzs9/01418VLJg9R656dbsCJ0kXXyxdeaU9LlEi91kAVyh2ADyPYhceUlOlDz888rmFC21N3/GsX3/kYN+cKFDArqody6HNIYdUqSJdfnnufn0gnFHsAHgexS5yffXVkTtPc6JwYTuJA/Aj5l4DAMLWoXl7AHLmOCscAAAAEGkodgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQhbGzdu1O23367KlSurSJEiOuecczR48GBlZma6jgYAYamg6wAAcDxr165VVlaWxo4dqypVqujbb7/VHXfcob1792rEiBGu4wFA2IkKBAIB1yEAIKeGDx+uMWPG6Icffsjx56SnpyshIUFpaWmKj48PYjoAcIsrdgAiSlpamkqWLHnCj8nIyFBGRsbht9PT04MdCwDCAmvsAESMDRs2aOTIkerevfsJPy4lJUUJCQmHXxITE0OUEADcotgBCLkhQ4YoKirqhC9Lly494nO2bNmiFi1aKDk5Wd26dTvhrz9gwAClpaUdftm0aVMw/3MAIGywxg5AyP3666/69ddfT/gxlSpVUmxsrCQrdU2aNFG9evU0ceJERUfn7mdS1tgB8AvW2AEIuVKlSqlUqVI5+tjNmzerSZMmql27tiZMmJDrUgcAfkKxAxC2tmzZosaNG6tixYoaMWKEduzYcfh9ZcuWdZgMAMITxQ5A2Jo7d67Wr1+v9evXq0KFCke8j1UkAHA01tgB8DzW2AHwCxarAAAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgERQ7AAAAj6DYAQAAeATFDgAAwCModgAAAB5BsQMAAPAIih0AAIBHUOwAAAA8gmIHAADgEVGBQCDgOgQABFMgENDu3bsVFxenqKgo13EAIGgodgAAAB7BrVgAAACPoNgBAAB4BMUOAADAIyh2AAAAHkGxAwAA8AiKHQAAgEdQ7AAAADzi/wAc0xzJulDxogAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Eq_sym = Eq(5*x1**2/8 + 3*x1*x2/4 + 5*x2**2/8, 1)  # 定义椭圆方程，主轴逆时针旋转 3*pi/4\n",
    "plot_curve(Eq_sym)  # 调用自定义函数绘制椭圆"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85a80909-2aac-49ed-bb7a-f8cc6b80ee7d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ecd322f4-f919-4be2-adc3-69d28ef25e69",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
